/**
 * @file SDLjeu.h
 * definition des fonctions propres au SDL
 */
#ifndef _SDLJEU_H
#define _SDLJEU_H

#include <SDL/SDL.h>
#include <stdio.h>
#include "jeu.h"
#include "tableau_monstre.h"
#include "Arme.h"
#include "sauvegarde.h"
#include <SDL/SDL_ttf.h>
using namespace std;

/**
/struct Structure sdlJeu
*/
struct sdlJeu
{
	jeu* j;///@param j pointeur sur jeu le jeu
	SDL_Surface* ecran;///@param ecran pointeur sur SDL_Surface image de l'écran
	SDL_Surface* fond;///@param fond pointeur sur SDL_Surface image de fond
	SDL_Surface* mur;///@param mur pointeur sur SDL_Surface image du mur
	SDL_Surface* monstreUnDroite;///@param monstreUnDroite pointeur sur SDL_Surface image du monstre de type 1 allant vers la droite
	SDL_Surface* monstreUnGauche;///@param monstreUnGauche pointeur sur SDL_Surface image du monstre de type 1 allant vers la gauche
	SDL_Surface* monstreDeuxHaut;///@param monstreDeuxHaut pointeur sur SDL_Surface image du monstre de type 2 allant vers le haut
	SDL_Surface* monstreDeuxBas;///@param monstreDeuxBas pointeur sur SDL_Surface image du monstre de type 2 allant vers le bas
	SDL_Surface* heroD;///@param heroD pointeur sur SDL_Surface image du heros allant vers la droite
	SDL_Surface* heroG;///@param heroG pointeur sur SDL_Surface image du heros allant vers la gauche
	SDL_Surface* heroH;///@param heroH pointeur sur SDL_Surface image du heros allant vers le haut
	SDL_Surface* heroB;///@param heroB pointeur sur SDL_Surface image du heros allant vers le bas
	SDL_Surface* porteNiv;///@param porteNiv pointeur sur SDL_Surface image de la porte du changement de Niveau
	SDL_Surface* porteTer;///@param porteTer pointeur sur SDL_Surface image de la porte du changement de terrain
	SDL_Surface* echelle;///@param echelle pointeur sur SDL_Surface image de l'echelle
	SDL_Surface* piece;///@param piece pointeur sur SDL_Surface image de la piece
	SDL_Surface* arme;///@param arme pointeur sur SDL_Surface image de l'arme
    SDL_Surface* attaque;///@param attaque pointeur sur SDL_Surface image de l'attaque effectuée
    SDL_Surface* menu;///@param menu pointeur sur SDL_Surface image du menu
    TTF_Font* police;
};

/**
@brief Initialise l'affichage du jeu en SDL
@param sdlJeu* sj, jeu* jeu
@return none
*/
void sdljeuInit(sdlJeu* sj,jeu* jeu);

/**
@brief boucle d'affichage du jeu en SDL
@param sdlJeu* sj
@return none
*/
void sdljeuBoucle( sdlJeu* sj);

/**
@brief suppression de sdlJeu
@param sdlJeu* sj
@return none
*/
void sdljeuDetruit( sdlJeu* sj);

/**
@brief affiche et gere le menu
@param sdlJeu* sj
@return bool
*/
bool SDLmenu(sdlJeu* sj);

#endif
